The present invention relates generally to an optical scanner and more particularly pertains to an optical scanner and method of scanning bar codes which involve simplified auto-focusing apparatus and practices. The subject invention is particularly useful in an optical scanner employing a CCD (charge-coupled-device) array for bar code reading.
Various optical readers and optical scanning systems have been developed heretofore for reading bar code symbols appearing on a label or on the surface of an article. The bar code symbol itself is a coded pattern of indicia comprised of a series of bars of various widths spaced apart from one another to bound spaces of various widths, the bars and spaces having different light reflecting characteristics. The readers and scanning systems electro-optically transform the graphic indicia into electrical signals, which are thereafter decoded into alphanumeric characters that are intended to be descriptive of the article or some characteristic thereof. Such characters are typically represented in digital form and utilized as an input to a data processing system for applications in point-of-sale processing. Inventory control, and the like scanning systems of this general type have been disclosed, for example, in U.S. Pat. Nos. 4,251,798; 4,369,361; 4,387,297; 4,409,470; 4,760,248; and 4,896,026, all of which have been assigned to the same assignee as the instant application.
As disclosed in some of the above patents, one embodiment of such a scanning system resides, inter alia, in a hand-held, portable scanning head supported by a user, which is configured to allow the user to aim the head, and more particularly, a light beam, at a target and a symbol to be read.
The light source in a laser scanner is typically a gas laser or semiconductor laser. The use of a semiconductor devices such as a laser diode as the light source in scanning systems is especially desirable because of their small size, low cost and low power requirements. The beam is optically modified, typically by optical elements, such as lenses, mirrors, apertures, etc., to form a beam spot of a certain size at the target distance. It is preferred that the beam spot size at the target distance be approximately the same as the minimum width between regions of different light reflectivity, i.e., the bars or spaces of the symbol.
Bar code symbols are formed from bars or elements that are typically rectangular in shape with a variety of possible widths. The specific arrangement of elements defines the character represented according to a set of rules and definitions specified by the code or "symbology" used. The relative size of the bars and spaces is determined by the type of coding used, as is the actual size of the bars and spaces. The narrowest bar/space of a bar code symbol determines the number of characters per millimeter or per inch and is referred to as the density of the symbol. To encode a desired sequence of characters, element arrangements are concatenated together to form the complete bar code symbol, with each character of the message being represented by its own corresponding group of elements. In some symbologies a unique "start" and "stop" character is used to indicate where the bar code begins and ends, thus defining the pattern to be decoded/identified. A number of different bar code symbologies exist. These symbologies include UPC/EAN, Code 39, Code 128, Codabar, and Interleaved 2 of 5, among others.
A further known symbology is known as two-dimensional (2D) symbology and is discussed in detail in commonly-assigned U.S. Pat. No. 5,243,655 and U.S. Pat. No. 5,304,786, which are incorporated herein by this reference thereto. Briefly, that symbology involves a variable number of component symbols or "codewords" per row of a nonvolatile electro-optical read-only memory imprinted on a substrate. Codewords in alternating rows are selected from mutually exclusive subsets of a mark pattern, the subsets being defined in terms of particular values of a discriminator function which is illustrated in the referenced patents as being a function of the widths of bars and spaces in a given codeword.
In the scanning systems known in the art, the light beam is directed by a lens or similar optical components along a light path toward a target that includes a bar code symbol on the surface. The scanning systems function by repetitively scanning the light beam in a line or series of lines across the symbol. The scanning component may either sweep the beam spot across the symbol and trace a scan line across the past the symbol, or scan the field of view of the scanner, or do both.
Scanning systems also include a sensor or photodetector which functions to detect light reflected from the symbol. The photodetector is therefore positioned in the scanner or in an optical path in which it has a field of view which extends across and slightly past the symbol. A portion of the reflected light which is reflected off the symbol is detected and converted into an electrical signal. Electronic circuitry or software thereafter decodes the electrical signal into a digital representation of the data represented by the symbol that has been scanned. For example, the analog electrical signal from the photodetector may typically be converted into a pulse width modulated digital signal, with the widths corresponding to the physical widths of the bars and spaces. Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the alphanumeric character so represented.
The decoding process in known scanning systems usually works in the following way. The decoder receives the pulse width modulated digital signal from the scanner, and an algorithm implemented in software attempts to decode the scan. If the start and stop characters and the characters between them in the scan were decoded successfully and completely, the decoding process terminates and an indicator of a successful read (such as a green light and/or an audible beep) is provided to the user. Otherwise, the decoder receives the next scan, performs another decode attempt on that scan, and so on, until a completely decoded scan is achieved or no more scans are available.
Decoding in 2D symbology is discussed particularly and shown in various flowcharts set forth in the 2D symbology patents incorporated by reference and above identified.
Another type of bar code reader is one which incorporates a detector based upon charge coupled device (CCD) technology. CCDs consist of an array of many detectors. The entire symbol is flooded with light from the reader or ambient light, and each CCD detector is sequentially read out to determine the presence of a bar or a space. Such readers are light-weight and easy to use, but require substantially direct contact or placement of the reader on the symbol to enable the symbol to be properly read. Such physical contact of the reader with the symbol is a preferred mode of operation for many applications, or as a matter of personal preference by the user.
The depth of focus of bar code scanners using light emitting diodes (LEDs) is very limited as compared to laser based scanners. Depth of focus is limited typically by geometrical defocusing, which is linear (approximately with f#).
Other efforts have heretofore been made to include, in optical scanners, various apparatus for effecting focusing, particularly on an automated basis.
U.S. Pat. No. 4,978,860 presents a quite simple approach in disclosing an optical system for a bar code scanner for reading a bar code tag which comprises a focusing means, a two-dimensional array of detectors is tilted with respect to the principal plane of the focusing means, so that images of the detectors are formed on a surface intersecting the bar code tag, and an image of a portion of the bar code tag is substantially in focus on at least one of the detectors.
The '860 arrangement, however, looks to focusing for a linear bar code, i.e., it seeks a horizontal focus line among the plurality of horizontal lines that exist vertically of a single row bar code. The arrangement thus does not accommodate automatic focusing in respect of two-dimensional symbology.
Another approach is found in U.S. Pat. No. 5,359,185, which discloses an apparatus for focusing an image of optical information over a substantial range of distances, comprising optical means for refracting images of optical information of varying wavelengths to different focal planes along a longitudinal axis at a predetermined reading position, illuminating means for sequentially illuminating optical information with light of different wavelengths, reading sensor means, disposed at the predetermined reading position and having a light receiving plane for converting an image of optical information into an electrical signal, and control means for determining and decoding the reflected light image formed by that wavelength of light from the illuminating means which produces the best focus.
A further prior art endeavor is seen in U.S. Pat. No. 5,192,856, which discloses an apparatus for use in reading a bar code along a scan axis at a distance from a target, the apparatus comprising an electromagnetic signal source for providing an electromagnetic illumination beam at a selected frequency and intensity, an optical train including fixed beam shaping optics for receiving and spreading the illumination beam to exit a housing port and irradiating the bar code completely along the scan axis with the housing at a single position relative to the target and auto-focusing optics for receiving a reflected beam from the bar code and adjusting the focal point of the reflected beam exiting therefrom. A motor is provided for adjusting the position of the auto-focusing optics in dependence on received control signals. A sensor receives the focused reflected beam from the auto-focusing optics and provides electrical signal equivalents thereof. A processor receives the reflected beam electrical signal equivalents, and first generates the auto-focusing optics control signals in accordance with a method comprising the steps of detecting maximum and minimum signal magnitudes in the signal equivalents, digitizing the maximum and minimum signal magnitudes in the signal equivalents, computing a contrast value for the maximum and minimum signal magnitudes in the signal equivalents, and generating the control signals to move the auto-focusing optics by an amount inversely proportional to the magnitude of the computed contrast value. The processor means repeats the method until the control signals have a minimum value wherein the difference between the contrast value and a previously computed contrast value is less than a preselected value and wherein the contrast value is greater than a threshold value.
A still further prior art effort is seen in U.S. Pat. No. 4,877,949, which discloses a bar code reader system comprising bar code sensor means for generating an output signal in accordance with a bar code image incident thereon, distance measurement means for automated reading of distances of a bar code from a hand-held bar code reader over a measurement range which exceeds an operative range for reading of bar codes, reading distance adaptation means for automatically adapting the reader to the reading of a bar code at varying distances therefrom within the operative range by causing an image of the bar code to be substantially focused at the image sensor means, enabling means for enabling a bar code reading operation, and control means coupled with the enabling means and the distance measuring means and operative in response to enabling of a bar code reading operation by the enabling means and in response to reading by the distance measurement means of distances within the operative range for automatically controlling the reading distance adaptation means during movement of the reader relative to a bar code within the operative range to tend to establish and maintain a focused bar code image at the image sensor means.
Apart from the prior art approach of the '860 patent, the above noted schemes for automatic focusing in bar code scanners are seen as unduly complex and costly. However, as noted, the '860 patent approach is limited to linear bar code scanning.